package model.analityka.cechy.funkcje.dosprawdzenia;

import infrastruktura.PlikNotowanieRepozytorium;
import model.analityka.cechy.funkcje.FunkcjaAT;
import model.portfel.NotowanieRepozytorium;

import org.springframework.beans.factory.annotation.Autowired;

import system.Data;

public class FunkcjaWolumenROC implements FunkcjaAT {

	@Autowired
	static NotowanieRepozytorium notowanieRepozytorium = new PlikNotowanieRepozytorium();
	
	String walorNazwa;
	int przedzialRozmiar;
	
	public FunkcjaWolumenROC(String walorNazwa, Integer przedzialRozmiar) {
		super();
		this.walorNazwa = walorNazwa;
		this.przedzialRozmiar = przedzialRozmiar;
	}
	
	@Override
	public double obliczWartosc(Object etykieta) {
		Data data = (Data)etykieta;
		double wolumen = notowanieRepozytorium.pobierzWolumenDouble(walorNazwa, data);
		double wolumenPoprzedni = notowanieRepozytorium.pobierzWolumenDouble(walorNazwa, data, -przedzialRozmiar);

		double wynik = 100 * wolumen / wolumenPoprzedni;
		return wynik;
	}

	public String getWalorNazwa() {
		return walorNazwa;
	}

	public int getPrzedzialRozmiar() {
		return przedzialRozmiar;
	}
}
